home *** CD-ROM | disk | FTP | other *** search
- -----------------------------------------------------------------------------
- 9th March 1992
- -----------------------------------------------------------------------------
- Support Group Application Note Disabling relocatable modules and other
- resources in RISC OS.
- Number: 244
- Issue: 1.0
- Author: CAS
- -----------------------------------------------------------------------------
-
- Developer's Notes:
-
- This application note will detail a method which will ensure that RISC OS
- based Relocatable Modules and other resources such as !Configure, are
- disabled during a machines boot sequence.
-
-
- -----------------------------------------------------------------------------
- Applicable Hardware: All Archimedes
-
- Related Application Notes: None
-
-
- -----------------------------------------------------------------------------
- Copyright (C) Acorn Computers Limited 1992
-
- Every effort has been made to ensure that the information in this leaflet is
- true and correct at the time of printing. However, the products described in
- this leaflet are subject to continuous development and improvements and
- Acorn Computers Limited reserves the right to change its specifications at
- any time. Acorn Computers Limited cannot accept liability for any loss or
- damage arising from the use of any information or particulars in this
- leaflet. ACORN, ECONET and ARCHIMEDES are trademarks of Acorn Computers
- Limited.
- -----------------------------------------------------------------------------
- Support Group
- Acorn Computers Limited
- Acorn House
- Vision Park
- Histon
- Cambridge
- CB4 4AE
- -----------------------------------------------------------------------------
-
- Introduction
-
- Some of the applications and relocatable modules which are an integral part
- of RISC OS 3 can in some circumstances, prove a distraction in a classroom
- situation.
-
- This application note will detail how to correctly disable such resources
- with specific reference to :
-
- !Configure
- !Alarm
- Broadcast loader
-
- Disabling Relocatable Modules.
-
- A relocatable module can be disabled in one of two ways: temporarily or
- "permanently".
-
- Modules which are temporarily disabled will remain so until the machine is
- switched off. When the machine is switched on again the modules are once
- again initialised for use.
- Modules which are "permanently" disabled will remain so until the machine
- is reset via a Delete-Power On. They will remain disabled even if the
- machine is switched off and on again.
-
- Note:Whilst this process is deemed to be permanent, a knowledgeable user
- can easily overcome this mechanism. It will, however, keep the less
- experienced "twiddler" at bay.
-
- The routines for disabling relocatable modules are inserted at the start of
- the !Boot or !ArmBoot file which is to be run when the machine is first
- switched on.
-
- T he following sequence demonstrates how !Configure can be temporarily
- disabled.
-
- *RMKill !Configure
-
- !Configure can be "permanently" disabled through the use of the following
- command:
-
- *Unplug !Configure
-
- Problems occur if this latter command is placed in a boot sequence. The
- first time the sequence is run the command will be executed and the module
- unplugged. The second time the module will already be unplugged and hence
- not "present" in the machine. The command will then report:
-
- Module !Configure not found
-
- and the boot sequence will stop.
-
- A more robust mechanism, as illustrated below, overcomes this problem:
-
- SetEval Configure$Module 1
- RMEnsure !Configure 0 SetEval Configure$Module 0
- If Configure$Module=1 Then Unplug !Configure
- Unset Configure$Module
-
-
-
- It works by setting a flag, in this case Configure$Module, which is then
- altered according to a series of tests. The end result is then used to
- decide if the module is present and therefore needs to be unplugged or not.
-
- Taking this sequence a line at a time:
-
- SetEval Configure$Module 1 | Set the flag to 1
-
- RMEnsure !Configure 0 SetEval Configure$Module 0 | Check if the Module is
- there. If it is NOT then | set the flag to 0
-
- If Configure$Module=1 Then Unplug !Configure| If its there then *Unplug it
-
- Unset Configure$Module | Remove the flag from memory
-
- The same procedure can be applied to other ROM based applications such as
- !Alarm:
-
- SetEval Alarm$Module 1
- RMEnsure !Alarm 0 SetEval Alarm$Module 0
- If Alarm$Module=1 Then Unplug !Alarm
- Unset Alarm$Module
-
- W ith Ethernet based networks the Broadcast Loader can impair the
- performance of the network due to the mechanisms which it uses. It is
- therefore strongly recommended that the Broadcast Loader is disabled. The
- following sequence shows how to achieve this:
-
- SetEval BLoader$Module 1
- RMEnsure BroadcastLoader 0 SetEval BLoader$Module 0
- If BLoader$Module Then RMEnsure EconetA 0 SetEval BLoader$Module
- <BLoader$Module>+1 | No broadcast loader -> 0 | BLoader and EconetA -> 1 |
- BLoader not EconetA -> 2 If BLoader$Module=2 Then Unplug BroadcastLoader
- Unset BLoader$Module
-
- Note:This sequence will not disable the Broadcast Loader if the Archimedes
- is running native Econet.
-
- Re-Enabling disabled relocatable modules.
-
- To re-enable these resources you should simply issue an *RMReinit <Module
- name> as shown below:
-
- *RMReinit !Configure
- *RMReinit !Alarm
- *RMReinit BroadcastLoader
-
- In the case of !Configure, !Alarm and other similar resources, once the
- module has been RMReinited you should Ctrl-Reset the machine.